Documentation Driven Development
I have a (command line) application and I am actually defining all the flags and everything in the readme before I have written a single line of code.
This allows for a clear roadmap of what the application will do, how it will function, and what users can expect in terms of features and options. This method can lead to a well-thought-out design and architecture, potentially reducing the need for significant refactoring later.
Unfortunately DDD can expand scope quite a bit, but it also reveals unexpected goodies.
For example, as I was expanding the documentation for my proposed <link to front matter tool> once I decided to use a config file (which would allow the user to have a default template and skip the template location flag) and since this tool is intended to be run from any path (to allow for relative file paths to be passed (relative to current directory, that is)), I need to figure out how my program would find this config file... which allows me to recursively search parent directories!!! And although this is a very simple recurseive use case and the while path.length > 1 or whatever would work just fine, I like that I get to use recursion
See the note pk_dclink:oc-c5390b5d to see how chat GPT helped me solve this issue and pk_dclink:oc-dc54f323 for an analysis - To Recurse or Not To Recurse